day05c (フォント読み込み)
objcopy -I binary -O elf64-x86-64 -B i386:x86-64 $(BUILD_DIR)/hankaku.bin $(BUILD_DIR)/hankaku.o
- -I:input-target hankaku.binをバイナリとして扱う
- -O:output-target elf64形式で出力
- -B:binary-architecture 出力アーキテクチャ?
externでシンボルを指定するんだけど、objcopyが勝手に名前決めるらしくてハマった
本は _binary_hankaku_bin_start だけど、実際は _binary___build_hankaku_bin_start だった
シンボル一覧はobjdumpで見れなくて(?)、 readelf -s --wide build/hankaku.o で表示した(—wideないと途中で切れて見えなかった)
これはなぜかというと、本は全部プロジェクトフォルダのルートでビルドしてそうなのに対し、自分はビルド用のディレクトリを切っているからだった
シンボル名はファイルへのパスに依存して作成されるらしいです
文字出力できないよ~~~~!!!と思ってたら変に本から変えてたせいで、画面外に描画してたらしい・・・?
y座標を90 + c*16にしてたんだけど、ループ開始時のcは ’!’ == 33だから、90 + 33*16 = 618(解像度が多分800x600)
xも似たような感じで指定してたから終わり